<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <cpn></cpn>
        <!-- 数组的方式 -->
        <cpn>
            <!-- 使用v-slot接收具名插槽abc的数据 并把她命名成aa -->
            <template v-slot="aa">
                {{aa.abc}}
            </template>
        </cpn>
        <!-- 以水平方向'-'的方式来显示 -->
        <cpn>
            <template v-slot="bb">
                {{bb.abc.join("-")}}
            </template>
        </cpn>
        <!-- 以水平方向'*'的方式来显示 -->
        <cpn>
            <template v-slot="cc">
                {{cc.abc.join("*")}}
            </template>
        </cpn>
    </div>
    <template id="cpnW">
        <div style="border: 1px solid red;">
            <h2>这是子组件的内容</h2>
                <!-- 作用域插槽：v-slot -->
				<!-- 定义具名插槽abc 并且传入数据pLanguages -->
            <slot :abc="pLanguages">
                <ul v-for="item in pLanguages">
                    <li>{{item}}</li>
                </ul>
            </slot>           
        </div>
    </template>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>
    <script>
        let cpn = {
            template:'#cpnW',
            data(){
                return{
	   		        ishow:false,
			        pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++']
	   		    }
            }
        }
        var vm = new Vue({
            el:'#app',
            data:{
                ishow:true
            },
            components: {
                cpn
            }
        });

    </script>
    
</body>
</html>